1. Field of the Invention
The present invention relates to the field of microcontrollers. Specifically, the invention is a method and system to dynamically control microcontroller power states by a novel interaction between a processor and a power on reset (POR) circuit.
2. Related Art
Microcontrollers have embedded processors, memories, power sources, and other circuits. Power On Reset (POR) circuits are typically used in microcontrollers to initialize stable power states, ensuring that booting is accomplished safely. POR circuits achieve his by forcing the microcontroller system into a reset state upon power supply activation and holding it in that state until power is stabilized, as indicated by a parameter, such as voltage, reaching a certain level. Conventionally, this is the sole function of a POR circuit.
However, several other microcontroller functions related to power state stability either go unaddressed, or require separate functionalities to enable them. In the conventional art, simply enabling more than a single POR level for a given microcontroller is one such function. Another is control of power sources supplying microcontrollers. The power for microcontrollers is typically provided by a switch mode pump (SMP), including power during boot-up. POR circuits, conventionally, are separate from SMP control, both during and after booting-up the system.
Further, certain microcontroller operational functions are susceptible to power system instability. A microcontroller's output may vary due to power instability during routine, post-boot-up operation. Microcontrollers routinely find application in instrumentation and control systems with common, for example, medical, power, and transportation utility. In certain critical applications, variation in a microcontrollers output due to power instability can have deleterious consequences. Further still, processor performance is related to power system status. Processor performance may be optimized by dynamically adjusting the microcontroller power system to corresponding optimal power states.
Also, microcontrollers have embedded memory subsystems, such as flash memories. Among its other functionalities, flash memory is one microcontroller system in particular, which is vulnerable to power system instability. Conventionally, these crucial operational needs are addressed by provision of system resources other than POR circuitry, if they are addressed at all.
The conventional art is problematic because it either fails to address microcontroller power stability issues beyond initial boot-up POR, requires the dedication of existing system resources to address them, or requires the provision of additional resources to address them, especially to do so automatically. In the first instance, power stability problems remain unsolved. In the second two instances, the solutions are expensive.
Dedicating existing resources, internal to the microcontroller, to sense, analyze, and react to post-booting power instability removes circuitry from other possible applications. Further, these effectively internal control functions demand the expenditure of power, heat dissipation, logic, memory, and other system infrastructure and energy. These finite system resources then become unavailable for executing the design external control functions of the microcontroller. Thus, microcontroller performance can suffer.
Further, providing additional resources, e.g., adding them into the microcontroller as build-ons, to sense, analyze, and react to post-booting power instability, makes the microcontroller more expensive to manufacture and thus to acquire. Further still, such a microcontroller becomes more expensive to operate, in terms of also demanding the additional expenditures of power, heat dissipation, logic, memory, and other system infrastructure and energy to meet an effectively internal control function, especially to achieve power control automatically. These resources also thus become unavailable for executing the design external control functions of the microcontroller. Thus, the performance of microcontrollers, even with power stability resources built-on according to the conventional art, may suffer.
Conceivably, a completely new system of powering microcontrollers may be developed which regulates the stability of the power both during and after boot-up, which dispenses with the foregoing problems. However, such a system would abandon advantages inherent in existing microcontroller power systems. Also, such a system would be expensive to develop and to implement.
What is needed is a method and/or system which can effectively function to provide dynamic power control capabilities for a microcontroller. What is also needed is a method and/or system that can utilize POR circuitry and processor resources to additionally control a microcontroller's switch mode pump (SMP), to optimize microcontroller power states. Further, what is needed is a method and/or system which can optimize microcontroller power status programmatically. Further still, what is needed is a circuit and/or system retaining the advantages of existing POR technology to accomplish the foregoing requirements with no extra demand on system resources or requirement for additional system resources.